/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package MiniCurso.controle;

import MiniCurso.modelo.Ministrante;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import javax.enterprise.context.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;

/**
 *
 * @author Cassio
 */
@Named("beanMinistrante")
@SessionScoped

public class BeanMinistrante implements Serializable {
    private Ministrante ministrante = new Ministrante();
    private Collection<Ministrante> listMinistrante = new ArrayList<Ministrante>();
    private boolean edit;
    private boolean remove;

    public Ministrante getMinistrante() {
        return ministrante;
    }

    public void setMinistrante(Ministrante ministrante) {
        this.ministrante = ministrante;
    }

    public Collection<Ministrante> getListMinistrante() {
        return listMinistrante;
    }

    public void setListMinistrante(Collection<Ministrante> listMinistrante) {
        this.listMinistrante = listMinistrante;
    }

    public boolean isEdit() {
        return edit;
    }

    public void setEdit(boolean edit) {
        this.edit = edit;
    }

    public boolean isRemove() {
        return remove;
    }

    public void setRemove(boolean remove) {
        this.remove = remove;
    }

    public String excluir() {
        getListMinistrante().remove(getMinistrante());
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Ministrante excluido com sucesso!", null));
        Ministrante a = new Ministrante();
        setMinistrante(a);
        return "listar";
    }

    public String remover(Ministrante ministrante) {
        this.ministrante = ministrante;
        remove = true;
        return "excluir";
    }

    public String inserir() {
        getListMinistrante().add(getMinistrante());
        Ministrante a = new Ministrante();
        setMinistrante(a);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Ministrante adicionado com sucesso!", null));
        return "listar";
    }

    public String editar(Ministrante ministrante) {
        this.ministrante = ministrante;
        edit = true;
        return "editar";
    }

    public String salvar() {
        edit = false;
        Ministrante a = new Ministrante();
        setMinistrante(a);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Ministrante editado com sucesso!", null));
        return "listar";
    }

    public String cancelar() {
        Ministrante a = new Ministrante();
        setMinistrante(a);
        return "listar";
    }
}
